#include <iostream>
#include <cstdio>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
struct node {
	double k;
	double b;
};
bool cmp(node a, node b) {
	return b.k*a.b + b.b > a.k*b.b + a.b;
}
node a[105];
int n,k;
double x0;
double dp[105][105];
void F() {
	for (int i=0; i<=n; ++i) dp[0][i]=x0;
	for (int i=1; i<=k; ++i) {
		for (int j=i; j<=n; ++j) {
			if (j==i) dp[i][j]=a[j].k * dp[i-1][j-1] + a[j].b;
			else {
				dp[i][j] = max(dp[i][j-1],a[j].k * dp[i-1][j-1] + a[j].b);
			}
		}
	}
}
int main() {
//	freopen("abc.txt", "r", stdin);
	double a1,l1,p1;
	while (scanf("%d%d%lf", &n, &k, &x0) && n) {
		if (n==0) break;
		for (int i=1; i<=n; ++i) {
			scanf("%lf%lf%lf", &a1, &l1, &p1);
			l1=l1/100.0;
			p1=p1/100.0;
			a[i].k=1-l1+l1*p1;
			a[i].b=a1*p1;
		}
		sort(a+1, a+1+n, cmp);
		F();
		printf("%.2lf\n", dp[k][n]);
	}
	return 0;
}
